covergroup npu_cg @(posedge tb_top.vif.clk);
  cp_len: coverpoint tb_top.dut.u_npu.vec_len {
    bins len_small  = {1,2};
    bins len_medium = {3 to 64};
    bins len_large  = {65 to 256};
  }
  cp_state: coverpoint tb_top.dut.u_npu.cstate;
  cp_axi: coverpoint tb_top.dut.u_npu.axi_arvalid;
  cross_len_state: cross cp_len, cp_state;
endgroup
npu_coverage cov_inst = new();